Attendance Tracking Via Device Presence

ABSTRACT

Attendance tracking via mobile devices may be provided. Once a meeting begins, a plurality of mobile devices present at the meeting may be identified. An attendance report for a plurality of attendees at the meeting may be provided based on the presence of each of the identified plurality of mobile devices.

BACKGROUND

Modern gatherings of students and professionals nearly always includethose attendees' mobile devices. For example, employees bring theirlaptops, tablets, and cellular phones to meetings while students bringsuch devices to class. Conventionally, there has been no way to leveragethese habits to track attendance at required functions, however, andmost situations continue to rely on self-reporting of attendance orpaper records.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter nor is this Summaryintended to be used to limit the claimed subject matter's scope.

Attendance tracking via mobile devices may be provided. Once a meetingbegins, a plurality of mobile devices present at the meeting may beidentified. An attendance report for a plurality of attendees at themeeting may be provided based on the presence of each of the identifiedplurality of mobile devices.

It is to be understood that both the foregoing general description andthe following detailed description are examples and explanatory only,and should not be considered to restrict the disclosure's scope, asdescribed and claimed. Further, features and/or variations may beprovided in addition to those set forth herein. For example, embodimentsof the disclosure may be directed to various feature combinations andsub-combinations described in the detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present disclosure can be better understood withreference to the following diagrams. The drawings are not necessarily toscale. Instead, emphasis is placed upon clearly illustrating certainfeatures of the disclosure. Moreover, in the drawings, like referencenumerals designate corresponding parts throughout the several views. Inthe drawings:

FIG. 1 is a block diagram of a user device;

FIG. 2 is a block diagram of an operating environment; and

FIG. 3 is a flow chart illustrating a method for providing attendancetracking via device presence.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawings.Wherever possible, the same reference numbers are used in the drawingsand the following description to refer to the same or similar elements.While embodiments of the disclosure may be described, modifications,adaptations, and other implementations are possible. For example,substitutions, additions, or modifications may be made to the elementsillustrated in the drawings, and the methods described herein may bemodified by substituting, reordering, or adding stages to the disclosedmethods. Accordingly, the following detailed description does not limitthe disclosure. Instead, the proper scope of the disclosure is definedby the appended claims.

Attendees at educational and professional gatherings, such as classes ormeetings, often have their mobile devices with them. These devices mayallow for tracking and identification of those in attendance at suchgatherings. For example, each student in a class may log in to awireless router (e.g., a “hotspot”) associated with the class and/or mayregister their device with a communication signal, such as a near-fieldcommunication (NFC), wireless network, radio frequency identifier(RFID), or Bluetooth® signal, as they enter the room. Professionalattendees at a meeting may similarly register their presence. Otheroptions for registering presence may include logging in to a specificapplication and/or entering a code associated with the meeting into aweb-based form. For example, attorneys at a continuing educationconference may log into an application associated with their barassociation or the conference host and enter a code associated theconference and/or each session of the conference.

In some embodiments, a geographical area may be defined around themeeting area (e.g., a geo-fence) and devices associated with theattendees may report their GPS location as being within the geo-fence.Conversely, devices for expected attendees of the meeting may be queriedwhen the meeting begins and/or at various times before and/or after thestart time to identify the devices' locations and determine whether thedevices are present at the meeting location or not.

Safeguards against fraudulent attendance counts may also be provided.For example, the mobile devices may require a personalizedidentification from each user, such as password or security questionanswer. Devices equipped with the appropriate hardware may receiveuniquely identifying biometric identification, such as fingerprints,images, voiceprints, and/or retina scans. In some embodiments, devicelocations may be triangulated to determine whether a single person is inpossession of multiple devices that are registered as attendees.

In some embodiments, an image of the attendees may be captured, such asby a webcam, camera, video recorder, a motion sensor (e.g., a Microsoft®Kinect® device), etc. The image may be analyzed to count the number ofattendees, and any discrepancy with the number of devices registeringattendance may be investigated. For example, someone actually inattendance may have forgotten their device or someone not in attendancemay have sent their device with another attendee.

An attendance report detailing the attendees who are present and/orexpected attendees who were late and/or absent may be prepared. Thesereports may be further collated to provide information over longerperiods than a single meeting. For example, attendance at each sessionof a conference may be tracked for the conference attendees, orattendance at classes by a student over a day, week, month, quarter,semester, year, etc. may be reported.

In some embodiments, a meeting management application may control theuse of resources by devices via an electronic meeting and/or other formsof electronic communication. The management application can identifymultiple entities required as in attendance before communicatingelectronic content. An entity can include a logical representation ofany participant in a meeting. The management application may identify agiven entity based on any suitable criteria. Non-limiting examples ofsuitable criteria include (but are not limited to) credentialsassociated with a particular user (such as, but not limited to, a username and/or other identifier), one or more identifiers associated with acomputing device used to access the electronic meeting (such as, but notlimited to, a hardware identifier or network address of the computingdevice), and/or based on a pairing of a user credential and a deviceidentifier. The required entities may be a subset of all entitiesauthorized to access the electronic meeting. In the absence of all ofthe required entities, communication of electronic content via theelectronic meeting may be restricted and/or disallowed.

Attendance at the meeting may comprise being physically present in themeeting location and/or accessing the meeting remotely. A managementapplication can authorize communication of the electronic content amongthe required entities and other authorized entities via the electronicmeeting based on determining that each required entity is present in themeeting room and/or accessing the meeting remotely.

FIG. 1 is a block diagram of a user device 100 comprising a processor105 and a memory 110. Depending on the configuration and type of device,memory 110 may comprise, but is not limited to, volatile (e.g. randomaccess memory (RAM)), non-volatile (e.g. read-only memory (ROM)), flashmemory, or any combination. Memory 110 may store executable programs andrelated data components of various applications and modules forexecution by user device 100. Memory 110 may be coupled to processor 105for storing configuration data and operational parameters, such ascommands that are recognized by processor 105.

Basic functionality of user device 100 may be provided by an operatingsystem 115 contained in memory 100. One or more programmed softwareapplications may be executed by utilizing the computing resources inuser device 100. Applications stored in memory 110 may be executed byprocessor 105 (e.g., a central processing unit or digital signalprocessor) under the auspices of operating system 115. For example,processor 105 may be configured to execute applications such as webbrowsing applications, email applications, instant messagingapplications, and/or other applications capable of receiving and/orproviding data.

Data provided as input to and generated as output from theapplication(s) may be stored in memory 110 and read by processor 105from memory 110 as needed during the course of application programexecution. Input data may be data stored in memory 110 by a secondaryapplication or other source, either internal or external to user device100, or possibly anticipated by the application and thus created withthe application program at the time it was generated as a softwareapplication program. Data may be received via any of a plurality ofcommunication ports 120(A)-(C) of user device 100. Communication ports120(A)-(C) may allow user device 100 to communicate with other devices,and may comprise components such as an Ethernet network adapter, amodem, and/or a wireless network connectivity interface. For example,the wireless network connectivity interface may comprise one and/or moreof a PCI (Peripheral Component Interconnect) card, USB (Universal SerialBus) interface, PCMCIA (Personal Computer Memory Card InternationalAssociation) card, SDIO (Secure Digital Input-Output) card, NewCard,Cardbus, a modem, a wireless radio transceiver, and/or the like.

User device 100 may also receive data as user input via an inputcomponent 125, such as a keyboard, a mouse, a pen, a stylus, a soundinput device, a touch input device, a capture device, etc. A capturedevice may be operative to record user(s) and capture spoken words,motions and/or gestures, such as with a camera and/or microphone. Thecapture device may comprise any speech and/or motion detection devicecapable of detecting the speech and/or actions of the user(s).

Data generated by applications may be stored in memory 110 by theprocessor 105 during the course of application program execution. Datamay be provided to the user during application program execution bymeans of a display 130. Consistent with embodiments of this disclosure,display 130 may comprise an integrated display screen and/or an outputport coupled to an external display screen.

Memory 110 may also comprise a platform library 140. Platform library140 may comprise a collection of functionality useful to multipleapplications, such as may be provided by an application programminginterface (API) to a software development kit (SDK). These utilities maybe accessed by applications as necessary so that each application doesnot have to contain these utilities thus allowing for memory consumptionsavings and a consistent user interface.

Furthermore, embodiments of this disclosure may be practiced inconjunction with a graphics library, other operating systems, or anyother application program and is not limited to any particularapplication or system. The devices described with respect to the Figuresmay have additional features or functionality. For example, user device100 may also include additional data storage devices (removable and/ornon-removable) such as, for example, magnetic disks, optical disks, ortape (not shown).

User device 100 may comprise a desktop computer, a laptop computer, apersonal digital assistant, a cellular telephone, a set-top box, a musicplayer, a web pad, a tablet computer system, a game console, and/oranother device with like capability.

User device 100 may store in a data store 150 a device profile 152 and aplurality of user preferences 154. Device profile 152 may comprise anindication of the current position of user device 100 and/or indicationsof the hardware, software, and security attributes, which describe userdevice 100. For instance, device profile 152 may represent hardwarespecifications of user device 100, version and configuration informationof various software program and hardware components installed on userdevice 100, data transmission protocols enabled on user device 100,version and usage information of various resources stored on user device100, and/or any other attributes associated with the state of userdevice 100. The device profile 152 may further comprise data indicatinga date of last virus scan of user device 100, a date of last access byan IT representative, a date of last service by the IT representative,and/or any other data indicating maintenance and usage of user device100. Furthermore, the device profile 152 may comprise indications of thepast behavior of associated users, such as resources accessed, chargesfor resource accesses, and the inventory accessed from such resources.User preferences 154 may comprise a listing of factors that may affectthe experience of the user. In particular, user preferences 154 mayinclude indications of the user's age, gender, bodily traits, preferredresource types, preferred venue resources, and combinations thereof.

FIG. 2 is a block diagram view of an operating environment 200comprising user device 100 in communication with a file server 210,which may execute a meeting management application 215, and a complianceserver 220 via a network 240. The meeting management application may beoperative to schedule and/or distribute content for an electronicmeeting such as that described in co-pending U.S. application Ser. No.13/828,922, entitled “Controlling Electronically Communicated Resources”and assigned to the assignee of the current application, which is herebyincorporated by reference in its entirety. The compliance server 220 maycomprise, for example, cloud-based solutions, server computers and/orany other system providing device management capability. For purposes ofconvenience, the compliance server 220 is referred to herein in thesingular, although it is understood that a plurality of servers may beemployed in the arrangements as descried herein. Furthermore, in someembodiments, multiple compliance servers 220 may operate on the sameserver computer. The components executed on the compliance server 220,for example, may comprise various applications, services, processes,systems, engines, or functionality not disclosed in detail herein.

The compliance server 220 may comprise a policy store 230 comprising aplurality of compliance rules and/or policies that may be applicable touser device 100. While the policy store 230 is shown as within thecompliance server 220, the policy store 230 may alternately be withinthe user device 100 and/or remotely located on the file server 210 andmay be remotely updated periodically by compliance server 220 accordingto common over-the-air (OTA) updating methods. Attempts by user device100 to perform certain functionality on user device 100 may require userdevice 100 to be in compliance with one and/or more of the compliancepolicies/rules. Depending on the sensitivity of a given functionality,different compliance rules may be necessary to ensure that thefunctionality is adequately restricted. Some functionality may onlyrequire ensuring that the proper user is requesting the functionality.Other resources may require compliance with more stringent authorizationrules, such as determining whether the functionality is restrictedduring certain time windows. Accordingly, user device 100 and/orcompliance server 220 may be operative to determine whether the user ofuser device 100 is authorized to perform requested functionality at thetime the user requests to perform such functionality.

In some embodiments, an agent application 234 executed on user device100 may make the compliance determination based on the device profile,credentials, and/or user preferences. For instance, the agentapplication 234 may monitor calls by applications, such as a web browser235, an e-mail client 236, and/or a secure application 237, on userdevice 110 to the operating system 115 of user device 100 to determinewhether user device 110 seeks to perform functionality associated with agiven compliance rule. Additionally, the agent application 234 on userdevice 100 may approve and/or deny the associated functionalityrequests. For instance, the agent application 234 may instruct operatingsystem 115 on user device 100 to disable the camera of user device 100in response to a determination that a compliance rule specifies that thecamera cannot be used at the time of the request by the user device 100to operate the camera.

In some embodiments, the agent application 234 executed on user device100 may rely on compliance server 220 to determine whether a givenfunctionality request on user device 100 is permitted according to thecompliance rules. For instance, the agent application may transmit afunctionality request, a device profile, credentials, and/or userpreferences to compliance server 220 so that compliance server 220 maydetermine whether user device 110 seeks to perform functionality thatmay violate a given compliance rule. Additionally, compliance server 220may approve and/or deny the associated functionality requests. Forinstance, compliance server 220 may instruct the agent application 234on user device 100 to instruct operating system 115 to activate a VPNsecurity profile prior to opening a document and/or link.

In some embodiments, the compliance rules may comprise device settingsand/or executable instructions that define which functionality theoperating system 115 of user device 100 is authorized to perform.Furthermore, the compliance rules may comprise a list of functions, suchas those provided by APIs associated with operating system 115 and/orplatform library 140, that may be treated as protected functions. Callsto these functions, such as calls to retrieve login credentials, mayresult in checks by user device 100 and/or compliance server 220 forcompliance with the compliance rules.

In some embodiments, the agent 234 may perform a set of orderedoperations to accomplish a requested function. These operation sets maybe defined by the user device 100 and/or compliance server 220 and maycomprise one and/or more operations to determine whether the user device100 is in compliance with policies from policy store 230. The agent 234may control at least one respective computing resource of the userdevice 100. The operations may include configuring at least onerespective computing resource of the user device 100 such as restrictingaccess to at least one resource managed by the agent 234.

The Network 240 may comprise, for example, any type of wired and/orwireless network such as a wireless local area network (WLAN), awireless wide area network (WWAN), Ethernet, fiber-optic network, and/orany other type of wired and/or wireless network now known or laterdeveloped. Additionally, the Network 240 may be or include the Internet,intranets, extranets, microwave networks, satellite communications,cellular systems, PCS, infrared communications, global area networks, orother suitable networks, etc., or any combination of such networks.

FIG. 3 is a flow chart setting forth the general stages involved in amethod 300 consistent with embodiments of this disclosure for providingattendance tracking via device presence. Method 300 may be implementedusing elements of operating environment 200 as described above. Ways toimplement the stages of method 300 will be described in greater detailbelow. Method 300 may begin at starting block 305 and proceed to stage310 where user device 100 may begin a meeting. For example, a meetingorganizer's device may comprise a master copy of a calendar event towhich other users have been invited. For another example, meetingmanagement application 215 may track scheduled meetings and/or classesand may initiate an electronic meeting at an appointed start time.

From stage 310, method 300 may advance to stage 315 where user device100 may identify a plurality of devices associated with the meeting. Theabsence or presence may comprise an associated user's physical presenceat the meeting location and/or electronic attendance, such as via ateleconference or webcam session. Detection of the devices may takenumerous forms, such as whether the devices are logged into a particularserver, network, and/or wireless router/hotspot, whether the user islogged into an application associated with the meeting (e.g., aclassroom or conferencing application), whether the device hasregistered and/or been identified via a communication signal such asradio frequency identification (RFID), wireless networking, Bluetooth,and/or near-field communication (NFC) signal, and/or whether the devicehas submitted a code associated with the meeting.

For example, a professor may have a code written on a blackboardassociated with the day's lecture that the students may submit via a webpage, mobile application, SMS, e-mail, and/or any other communicationmedium. For another example, each attendee may tap their device againstan RFID or NFC reader as they enter the meeting location. For yetanother example, devices within a geo-fence associated with the meetinglocation may be polled, such as over a wireless network, for identifyinginformation. As a further example, user device 100 may create an ad-hocnetwork, such as via 802.11 and/or Bluetooth, to which attendee devicesmay connect and identify themselves and/or be identified by user device100. In some embodiments, devices may be detected at different timesthroughout the meeting's duration to determine whether any devicesarrived late and/or left early.

From stage 315, method 300 may advance to stage 320 where user device100 may correlate the identified devices to attendees. For example,devices may comprise uniquely identifying information such as serialnumbers, text names, MAC and/or IP addresses, assigned identifiernumbers and/or strings, RFID chip codes, etc. For another example, thedevices may submit identification information by transmitting anidentify certificate and/or having the user fill in a form via anapplication and/or web page.

From stage 320, method 300 may advance to stage 325 where user device100 may create an attendance log. The log may be stored on user device100 and/or transmitted to a network location such as file server 210and/or compliance server 220. The log may comprise identificationinformation for each device, an identity of a correlated user, and/orthe absence of any devices/users expected to be in attendance. The logmay also comprise information about any devices present that were notidentified and/or correlated with a known user. The log may alsocomprise information about any devices that arrived late or departedearly.

In some embodiments, the log may indicate whether the correlatedidentity is strongly trusted, such as where each device submits anauthenticated identity certificate requiring each attendee to enter anindividually identifying characteristic such as a passcode and/orbiometric data, weakly trusted, such as where each device comprises aunique hardware identifier, and/or untrusted, such as where the identitycorrelation comes from data submitted by the user e.g., via a web pageform. In some embodiments, the log may comprise a list of all invitedand/or expected attendees and whether an associated device was absentfrom the meeting. An interface for a meeting organizer (e.g., a classprofessor) may be provided to allow for manual entries to the log, suchas for students who forgot to bring their device.

From stage 325, method 300 may advance to stage 330 where user device100 may identify any discrepancies between the identified devices andthe correlated users. For example, user device 100 may receive an imageof the attendees at the meeting and perform a count of the number ofattendees to determine whether there are more devices than attendees, orvice versa. The attendee devices may also be triangulated within themeeting location to determine whether one user may be carrying more thanone device. For another example, some and/or all of the devices may beequipped with biometric sensors to verify that each device is associatedwith a unique and/or authorized user. For yet another example, devicesequipped with microphones may be able to capture voices in attendance atthe meeting. The voices may be used to provide a count of individuals atthe meeting and/or to identify the individuals present. Anydiscrepancies may be logged as described above with respect to stage325.

From stage 330, method 300 may advance to stage 335 where user device100 may prepare an attendance report. For example, the log may be usedto generate a list of all attendees present at the meeting. Logs mayalso be combined into reports, such as by providing a teacher or schoolprincipal an overview of all students who were absent or late to a classover a particular time period such as a day, week, month, term,semester, and/or year. Method 300 may then end at stage 350.

An embodiment consistent with the disclosure may comprise a system forproviding attendance tracking via device presence. The system maycomprise a memory storage and a processing unit coupled to the memorystorage. The processing unit may be operative to determine that ameeting has begun, identify a plurality of mobile devices present at themeeting, and log the attendance of a plurality of attendees based on thepresence of each of the identified plurality of mobile devices. Theprocessing unit may be further operative to compare the identifiedplurality of mobile devices to a list of expected attendees, determinewhether a mobile device associated with at least one of the expectedattendees is not present at the meeting, and, if so, log the at leastone of the expected attendees as absent. Identifying the plurality ofmobile devices may comprise, for example, identifying devices presentwithin a configured geographic area receiving a communication and/orverification signal from each of the plurality of mobile devices. Theprocessing unit may be further operative to receive a count of theplurality of attendees, determine whether the count of the plurality ofattendees differs from a count of the plurality of identified mobiledevices, and, if so, include the difference between the count of theplurality of attendees and the count of the plurality of identifiedmobile devices in the attendance report.

Another embodiment consistent with the disclosure may comprise a systemfor providing attendance tracking via device presence. The system maycomprise a memory storage and a processing unit coupled to the memorystorage. The processing unit may be operative to identify a plurality ofdevices present at a meeting, identify a number of attendees present atthe meeting, and prepare an attendance report for the meeting comprisinga correlation between the plurality of devices present at the meetinglocation and the number of attendees present at the meeting location.The processing unit may be operative to receive a count of the number ofattendees from an organizer of the meeting and/or to receive a digitalimage of a location of the meeting and analyze the digital image tocount the number of attendees present at the meeting. The processingunit may be further operative to determine whether the count of thenumber of attendees differs from a count of the plurality of devices andidentify at least one discrepancy between at least one of the pluralityof devices and at least one of the attendees. Being operative toidentify the at least one discrepancy between the at least one of theplurality of devices and the at least one of the attendees may comprisethe processing unit being operative to verify each of the attendeespresent at the meeting according to an authentication and compare eachof the verified attendees to a profile associated with each of theplurality of devices. For example, each device may have an identityprofile and/or contact record installed identifying the user. Theprofile may also comprise device and/or user specific identifyinginformation such as an identity certificate.

Yet another embodiment consistent with the disclosure may comprise asystem for providing attendance tracking via device presence. The systemmay comprise a memory storage and a processing unit coupled to thememory storage. The processing unit may be operative to identify aplurality of registered devices present at a meeting, identify aplurality of attendees present at the meeting, and provide an attendancereport for the meeting comprising a correlation between the plurality ofregistered devices present at the meeting location and the number ofattendees present at the meeting location. The processing unit may befurther operative to receive a plurality of authentications associatedwith the plurality of attendees, associate the plurality ofauthentications with at least some of the plurality of attendees, anddetermine whether at least one of the plurality of authentications isnot associated with at least one of the plurality of attendees. Theplurality of authentications may comprise, for example a login, apassword, a meeting code, a fingerprint, a retina scan, a voiceprint,biometric data, an identity certificate, and an image.

The embodiments and functionalities described herein may operate via amultitude of computing systems, including wired and wireless computingsystems, mobile computing systems (e.g., mobile telephones, tablet orslate type computers, laptop computers, etc.). In addition, theembodiments and functionalities described herein may operate overdistributed systems, where application functionality, memory, datastorage and retrieval and various processing functions may be operatedremotely from each other over a distributed computing network, such asthe Internet or an intranet. User interfaces and information of varioustypes may be displayed via on-board computing device displays or viaremote display units associated with one or more computing devices. Forexample user interfaces and information of various types may bedisplayed and interacted with on a wall surface onto which userinterfaces and information of various types are projected. Interactionwith the multitude of computing systems with which embodiments of thisdisclosure may be practiced include, keystroke entry, touch screenentry, voice or other audio entry, gesture entry where an associatedcomputing device is equipped with detection (e.g., camera) functionalityfor capturing and interpreting user gestures for controlling thefunctionality of the computing device, and the like. The Figures aboveand their associated descriptions provide a discussion of a variety ofoperating environments in which embodiments of this disclosure may bepracticed. However, the devices and systems illustrated and discussedwith respect to the Figures are for purposes of example and illustrationand are not limiting of a vast number of computing device configurationsthat may be utilized for practicing embodiments of this disclosure asdescribed herein.

The term computer readable media as used herein may include computerstorage media. Computer storage media may include volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information, such as computer readableinstructions, data structures, program modules, or other data. Systemmemory, removable storage, and non-removable storage are all computerstorage media examples (i.e., memory storage.) Computer storage mediamay include, but is not limited to, RAM, ROM, electrically erasableread-only memory (EEPROM), flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to store.

The term computer readable media as used herein may also includecommunication media. Communication media may be embodied by computerreadable instructions, data structures, program modules, or other datain a modulated data signal, such as a carrier wave or other transportmechanism, and includes any information delivery media. The term“modulated data signal” may describe a signal that has one or morecharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia may include wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, radio frequency (RF),infrared, and other wireless media.

A number of applications and data files may be used to perform processesand/or methods as described above. The aforementioned processes areexamples, and a processing unit may perform other processes. Otherprogramming modules that may be used in accordance with embodiments ofthis disclosure may include electronic mail, calendar, and contactsapplications, data processing applications, word processingapplications, spreadsheet applications, database applications, slidepresentation applications, drawing or computer-aided applicationprograms, etc.

Generally, consistent with embodiments of this disclosure, programmodules may include routines, programs, components, data structures, andother types of structures that may perform particular tasks or that mayimplement particular abstract data types. Moreover, embodiments of thedisclosure may be practiced with other computer system configurations,including hand-held devices, multiprocessor systems,microprocessor-based or programmable consumer electronics,minicomputers, mainframe computers, and the like. Embodiments of thisdisclosure may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

Furthermore, embodiments of this disclosure may be practiced in anelectrical circuit comprising discrete electronic elements, packaged orintegrated electronic chips containing logic gates, a circuit utilizinga microprocessor, or on a single chip containing electronic elements ormicroprocessors. Embodiments of this disclosure may also be practicedusing other technologies capable of performing logical operations suchas, for example, AND, OR, and NOT, including but not limited tomechanical, optical, fluidic, and quantum technologies. In addition,embodiments of the disclosure may be practiced within a general-purposecomputer or in any other circuits or systems.

Embodiments of this disclosure may, for example, be implemented as acomputer process and/or method, a computing system, an apparatus,device, or appliance, and/or as an article of manufacture, such as acomputer program product or computer readable media. The computerprogram product may be a computer storage media readable by a computersystem and encoding a computer program of instructions for executing acomputer process. The computer program product may also be a propagatedsignal on a carrier readable by a computing system and encoding acomputer program of instructions for executing a computer process.Accordingly, the present disclosure may be embodied in hardware and/orin software (including firmware, resident software, micro-code, etc.).In other words, embodiments of the present disclosure may take the formof a computer program product on a computer-usable or computer-readablestorage medium having computer-usable or computer-readable program codeembodied in the medium for use by or in connection with an instructionexecution system. A computer-usable or computer-readable medium may beany medium that can contain, store, communicate, propagate, or transportthe program for use by or in connection with the instruction executionsystem, apparatus, or device.

The computer-usable or computer-readable medium may be, for example butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, device, or propagationmedium. More specific computer-readable medium examples (anon-exhaustive list), the computer-readable medium may include thefollowing: an electrical connection having one or more wires, a portablecomputer diskette, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, and a portable compact disc read-only memory(CD-ROM). Note that the computer-usable or computer-readable mediumcould even be paper or another suitable medium upon which the program isprinted, as the program can be electronically captured, via, forinstance, optical scanning of the paper or other medium, then compiled,interpreted, or otherwise processed in a suitable manner, if necessary,and then stored in a computer memory.

Embodiments of this disclosure may be practiced via a system-on-a-chip(SOC) where each and/or many of the elements described above may beintegrated onto a single integrated circuit. Such an SOC device mayinclude one or more processing units, graphics units, communicationsunits, system virtualization units and various applicationfunctionalities, all of which may be integrated (or “burned”) onto thechip substrate as a single integrated circuit. When operating via anSOC, the functionality, described herein, with respect to trainingand/or interacting with any element may operate via application-specificlogic integrated with other components of the computing device/system onthe single integrated circuit (chip).

Embodiments of this disclosure are described above with reference toblock diagrams and/or operational illustrations of methods, systems, andcomputer program products according to embodiments of the disclosure.The functions/acts noted in the blocks may occur out of the order asshown in any flowchart. For example, two blocks shown in succession mayin fact be executed substantially concurrently or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality/acts involved.

While certain embodiments have been described, other embodiments mayexist. Furthermore, although embodiments of the present disclosure havebeen described as being associated with data stored in memory and otherstorage mediums, data can also be stored on or read from other types ofcomputer-readable media, such as secondary storage devices, like harddisks, floppy disks, or a CD-ROM, a carrier wave from the Internet, orother forms of RAM or ROM. Further, the disclosed methods' stages may bemodified in any manner, including by reordering stages and/or insertingor deleting stages, without departing from the disclosure.

Embodiments of the present disclosure, for example, are described abovewith reference to block diagrams and/or operational illustrations ofmethods, systems, and computer program products according to embodimentsof the disclosure. The functions/acts noted in the blocks may occur outof the order as shown in any flowchart. For example, two blocks shown insuccession may in fact be executed substantially concurrently or theblocks may sometimes be executed in the reverse order, depending uponthe functionality/acts involved.

While certain embodiments of the disclosure have been described, otherembodiments may exist. Furthermore, although embodiments of the presentdisclosure have been described as being associated with data stored inmemory and other storage mediums, data can also be stored on or readfrom other types of computer-readable media, such as secondary storagedevices, like hard disks, floppy disks, or a CD-ROM, a carrier wave fromthe Internet, or other forms of RAM or ROM. Further, the disclosedmethods' stages may be modified in any manner, including by reorderingstages and/or inserting or deleting stages, without departing from thedisclosure.

All rights including copyrights in any code included herein are vestedin and the property of the Assignee. The Assignee retains and reservesall rights in the code included herein, and grants permission toreproduce the material only in connection with reproduction of thegranted patent and for no other purpose.

While the specification includes examples, the disclosure's scope isindicated by the following claims. Furthermore, while the specificationhas been described in language specific to structural features and/ormethodological acts, the claims are not limited to the features or actsdescribed above. Rather, the specific features and acts described aboveare disclosed as example for embodiments of the disclosure.

1. A method comprising: determining that a meeting has begun;identifying, via at least one processing device, a plurality of mobiledevices present at the meeting by: defining a geographical areaassociated with the meeting, the geographical area comprising an areawithin which a respective mobile device must be located in order forpresence at the meeting to be registered; and for each of the pluralityof mobile devices, obtaining a global positioning system (GPS) locationassociated with the respective mobile device and determining whether therespective mobile device is within the geographical area; correlating,via the at least one processing device, one or more of the plurality ofmobile devices present at the meeting with one or more users so as todetermine one or more attendees of the meeting; creating an attendancelog based at least in part on the one or more attendees of the meeting;determining whether the one or more attendees comprise all requiredattendees; and authorizing, in an instance in which it is determinedthat the one or more attendees comprise all required attendees,communication of electronic content to one or more authorized attendees.2. The method of claim 1, further comprising: comparing the identifiedplurality of mobile devices to a list of expected attendees.
 3. Themethod of claim 2, further comprising: determining whether a mobiledevice associated with at least one of the expected attendees is notpresent at the meeting; and logging the at least one of the expectedattendees as absent.
 4. (canceled)
 5. The method of claim 1, whereinidentifying the plurality of mobile devices in attendance at the meetingcomprises receiving a communication signal from each of the plurality ofmobile devices.
 6. The method of claim 5, wherein receiving thecommunication signal from each of the plurality of mobile devicescomprises receiving a near-field communications (NFC) signal at an NFCreceiver associated with a location of the meeting.
 7. The method ofclaim 5, wherein receiving the communication signal from each of theplurality of mobile devices comprises receiving a wireless networksignal at a wireless network transceiver associated with a location ofthe meeting.
 8. The method of claim 5, wherein receiving thecommunication signal from each of the plurality of mobile devicescomprises receiving a verification signal from an application executingon each of the plurality of mobile devices.
 9. The method of claim 8,wherein the verification signal comprises a meeting-specific identifier.10. The method of claim 1, further comprising: receiving a count of theone or more of attendees; determining whether the count of the one ormore of attendees differs from a count of the plurality of identifiedmobile devices; and in response to determining that the count of the oneor more of attendees differs from the count of the plurality ofidentified mobile devices, including the difference between the count ofthe one or more of attendees and the count of the plurality ofidentified mobile devices in the attendance log.
 11. A systemcomprising: a memory storing program code; and a processor coupled tothe memory, the memory and program code being configured to, with theprocessor, cause the system to at least: identify a plurality of devicespresent at a meeting, identify a number of attendees present at themeeting by obtaining at least one digital image of a location of themeeting and performing an image analysis on the at least one digitalimage, wherein a result of the image analysis comprises a number ofattendees appearing within the at least one digital image, determinewhether a discrepancy exists between the number of attendees and anumber of the plurality of devices, generate a meeting attendance reportcomprising the number of the plurality of devices present at the meetinglocation and the number of attendees present at the meeting location,the meeting attendance report further comprising information about thediscrepancy when the discrepancy exists, determine whether the number ofattendees present at the meeting includes all required attendees, andauthorizing, in an instance in which it is determined that the number ofattendees present at the meeting includes all required attendees,communication of electronic content to one or more authorized attendees.12. The system of claim 11, where being operative to identify the numberof attendees present at the meeting location comprises being operativeto receive a count of the number of attendees from an organizer of themeeting.
 13. (canceled)
 14. (canceled)
 15. The system of claim 11,wherein being operative to identify the at least one discrepancy betweenthe at least one of the plurality of devices and the at least one of theattendees comprises being operative to: verify each of the attendeespresent at the meeting according to a user authentication; and compareeach of the verified attendees to a profile associated with each of theplurality of devices.
 16. A non-transitory computer-readable mediumwhich stores a set of instructions that, when executed, causes a methodto be performed, the method compromising: identifying a plurality ofregistered devices present at a meeting; identifying a plurality ofattendees present at the meeting; providing an attendance report for themeeting comprising a correlation between the plurality of registereddevices present at a meeting location corresponding to the meeting and anumber of attendees present at the meeting location; determining whetherthe number of attendees present at the meeting includes all requiredattendees; and authorizing, in an instance in which it is determinedthat the number of attendees present at the meeting includes allrequired attendees, communication of electronic content to one or moreauthorized attendees.
 17. The computer-readable medium of claim 16,wherein identifying the number of attendees present at the meetingcomprises: receiving a plurality of authentications associated with theplurality of attendees, the plurality of authentications obtained inresponse to a plurality of request to authenticate a meeting attendanceof the plurality of attendees via the plurality of registered devices;associating the plurality of authentications with at least some of theplurality of attendees; and determining whether at least one of theplurality of authentications is not associated with at least one of theplurality of attendees.
 18. The computer-readable medium of claim 17,wherein the plurality of authentications comprise at least one of thefollowing: a login, a password, a meeting code, a fingerprint, anidentity certificate, a retina scan, a voiceprint, and an image.
 19. Thecomputer-readable medium of claim 16, wherein identifying the pluralityof registered devices present at the meeting comprises receiving acommunication signal from each of the plurality of registered devices.20. The computer-readable medium of claim 16, wherein identifying theplurality of registered devices present at the meeting comprisesdetecting each of the plurality of registered devices present in aconfigured geographic area.